在 Nervos 上遇见真正的 Metaverse|CKB Weekly #55
火花
1、Nervos 为什么能够比以太坊有更大的弹性来设计 NFT ?
NFT 的概念最早起源于以太坊的 ERC 721,后来演绎到了 ERC 1155,同时其他链上也有各自的 NFT 。其中 Nervos 在基于 UTXO 编程模型下的 mNFT 协议可能会是一个很特别的存在,作者在本文中试着从 Nervos 和以太坊的底层公链设计出发,去探讨 NFT 在这两个公链上的设计边界,透过「如何自定义 NFT 分润」、「用 sUDT 代币交易 NFT 」、 「多个 NFT 合成特定 NFT 」等场景去讨论底层 NFT 协议的弹性,最后得出一个有趣的结论:Nervos 明显更偏向组合型,而以太坊则更偏向集成型。
也就是说,在以太坊上更偏向用一个协议尽可能地囊括所有的 NFT 设计协议的流程。相反的 Nervos 上则是能够让一个协议有最大的通用性,而 lock script 和 type script 既可以保留最小化的设计,让主要的逻辑交由某个代表规则的 Cell 去实现;也可以让 lock 和 type script 都展现最大程度的扩展性,例如在 lock/type script 指向的脚本中甚至还可以内嵌一个 JS/Lua 的虚拟机,实现定制化的智能合约脚本,并且带来更不可预期的发展边界。
https://talk.nervos.org/t/nervos-nft/5873
2、要支持 sUDT 的充提币?这里有个不错的方案!
Nervos 的钱包如果要支持 sUDT 的转账,如果接收的地址是 anyone-can-pay 的短地址,可以使用 acp 方案,如果是原生的短地址,则能够使用 cheque 方案,但是这时候转账者就必须要有额外的 302 CKB 去创建 ACP cell 和 Cheque cell 。而 Mercury 是一个帮助中心化的平台的 sUDT 提供充提币接口,支持创建账户和构造转账,如此一来任何的中心化平台可以轻松地集成这个充提币方案。想了解更多请看下方原文。
原文链接:
https://talk.nervos.org/t/sudt/5914
CKB
(#2794) 为子命令 list-hashes 提供更好的错误信息
https://github.com/nervosnetwork/ckb/pull/2794
(#2792) 重构(硬分叉):更加严格地验证 epoch
https://github.com/nervosnetwork/ckb/pull/2792
(#2791) 重构:明确验证区块头中的 epoch
https://github.com/nervosnetwork/ckb/pull/2791
(#2790) ci:当 runner 没有足够的空间时,就会清理 cargo
https://github.com/nervosnetwork/ckb/pull/2790
(#2788) 自定义 opt-level 以避免重复建造
https://github.com/nervosnetwork/ckb/pull/2788
(#2789) ci:删除工作流程 remove-old-artifacts.yml
https://github.com/nervosnetwork/ckb/pull/2789
(#2779) 给每个全局运行时的线程一个唯一的 ID
https://github.com/nervosnetwork/ckb/pull/2779
Dev Tools
Godwoken-polyjuice [为 Godwoken 兼容以太坊]
(#45) 修复 creator_raw_args_seg_ptr 堆栈使用后的范围和错位的地址访问
https://github.com/nervosnetwork/godwoken-polyjuice/pull/45
(#44) creator_raw_args_seg_ptr stack-use-after-scope
https://github.com/nervosnetwork/godwoken-polyjuice/issues/44
(#46) 修复恢复账户预编译的合约
https://github.com/nervosnetwork/godwoken-polyjuice/pull/46(#43) 上传 godwoken 和 godwoken-scripts
https://github.com/nervosnetwork/godwoken-polyjuice/pull/43
(#42) 修复错位的地址
https://github.com/nervosnetwork/godwoken-polyjuice/pull/42
跨链
force-bridge[通用的 force bridge 组件]
(#144) 修复:将名称标志改为符号,以修复 cli args 解析错误
https://github.com/nervosnetwork/force-bridge/pull/144
(#142) 修复:增加分叉指标和删除服务器请求指标
https://github.com/nervosnetwork/force-bridge/pull/142
(#143) 修复 cli args 解析错误
https://github.com/nervosnetwork/force-bridge/pull/143
(#138) 增加了一个 keystore 模块
https://github.com/nervosnetwork/force-bridge/pull/138
(#141) 修复 pubkeyToAddress 的 bug
https://github.com/nervosnetwork/force-bridge/pull/141
(#136) 添加 bridge 费用索引器和 cli
https://github.com/nervosnetwork/force-bridge/pull/136
(#137) 修复:为 ethHandler 和 ckbHandler 增加重试功能
https://github.com/nervosnetwork/force-bridge/pull/137
(#139) 修复:更新服务器请求失败的处理程序
https://github.com/nervosnetwork/force-bridge/pull/139
生态系统
DAS [去中心化账户服务]